Networks typically include switches, routers, and similar network devices, whose function is to direct network traffic from one part of a network to another. As part of this function, these network devices may modify a network packet. For example, in some cases, a network device for routing or switching may modify a packet header in the course of directing the packet to its destination. For example, the network device may modify a destination or source address, a source or destination port, or a time-to-live field. Sometimes one of these changes may require updating another field in the same packet, such as a header checksum field. Network devices may include hardware and/or software for modifying a packet.
Automated design tools provide an efficient and consistent way to manage complex and time consuming integrated circuit design. An automated design generation process, running on a computing device, is able to absorb a large amount of input data, such as the many different types of packets that may be received by a network device. The automated process may further be able to determine relationships and inter-relationships across the input data, and be able to quickly and consistently output a design that accommodates these relationships. Automated design tools may reduce design time, particularly for complex designs.